Communication techniques using passive beacons

ABSTRACT

Certain embodiments are directed to techniques (e.g., a device, a method, a memory or non-transitory computer readable medium storing code or instructions executable by one or more processors) for passive beacon communication techniques. Transmitting devices (e.g., beacons) can transmit advertising messages using a first wireless protocol to provide timing for ranging messages for one of more ranging messages over a second protocol (e.g., UWB). One or more receiving devices can determine using signal strength if the devices are within a threshold range to perform communication techniques. Various ranging communications techniques can be used to determine a range between the receiving device and transmitting device. Other techniques can be used to passively calculate the angle of arrival for transmitter signals. The angle of arrival information can be used for precise position locating for the receiving device or to indicate interest in information provided by the one or more transmitting devices.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.16/905,582, filed Jun. 18, 2020, entitled “Communication TechniquesUsing Passive Beacons,” the disclosure of this application isincorporated by reference herein in their entirety and for all purposes.

BACKGROUND

Various applications of mobile devices utilize the wirelesscommunication techniques to share or exchange information between thedevices. Information exchange techniques can be limited on the number ofparticipating devices due to collision between information packetexchanges using a wireless protocol. Previous techniques can requirecomplicated scheduling techniques to minimize packet collisions andaccount for devices entering and leaving the packet exchanges. Inaddition, maintaining the device, specifically the transceivercircuitry, in a powered-on state until the next transmission time candrain the battery of the device.

Beacons can wirelessly provide information to one or more mobiledevices. However, techniques that provide information in an unsolicitedmanner is undesirable. Therefore, techniques that measure an interest ina user obtaining the information are advantageous. For example, aprocessor of a mobile device can ascertain if a user is manipulating amobile device with respect to a threshold of a beacon to ascertain userinterest.

Techniques for determining range or angular relationship betweenelectronic devices using one-to-one communications is inefficient. Thesetechniques are complicated because the internal clocks of variouselectronic devices are not synchronized with each other. In somecircumstances, a beacon may provide information concerning the localenvironment that can be provided to multiple electronic devices. In somecases, users with electronic devices are trying to obtain their rangeand/or angular measurements from a beacon. In cases with a single beaconand multiple receiving devices, communicating in the same bandwidth canresult in collisions between the data packets. The collisions can resultin missed ranging measurements. It can been advantageous for a techniqueto allow account for these potential collisions in implementingtechniques for efficient ranging techniques.

BRIEF SUMMARY

Certain embodiments are directed to techniques (e.g., a device, amethod, a memory or non-transitory computer readable medium storing codeor instructions executable by one or more processors) for communicationtechniques between a transmitting device (e.g., a beacon) and one ormore mobile devices (e.g., a smartphone, a tablet, a wearable deviceetc.). In various embodiments, the communication techniques refer to amode (e.g., a listening mode for a receiving device and a broadcast modefor a transmitting device). In this way, the number of receiving devicesis not as limited as with other communication techniques.

A passive beacon can transmit a timing signal via a wireless protocol(e.g., Bluetooth Low Energy (BLE) advertising). The timing signalinforms one or more other mobile devices of a start of a transmissioncycle. The beacon can transmit information via a predictable schedulestarting a predetermined time from the transmission of the timingsignal. The schedule for transmission can be generated by the beacon orit can be hardcoded in the mobile device.

Having a predetermined time for transmitting information, the beacondevice can enter a lower-power mode until just prior to the transmissiontime. At the predetermined time, the beacon can transmit information viaa wireless protocol (e.g., UWB protocol). The information can include alink the mobile device can use to receive information. The mobiledevices can use the times of reception of the signals at multipleantennas to determine an angle of arrival from the beacon to the device.Use cases can include pointing their mobile device at a beacon toreceive information (e.g., a bus or train schedule).

The processor on the mobile device can detect that the angularinformation is within certain threshold from a beacon (e.g., a beacon ona signpost for a bus). When the angular position of the device is withina certain threshold with respect to the beacon, the beacon can transmita link to the mobile device. The link can point to stored information(e.g., online, or locally) that is accessible to the mobile device,e.g., a timetable for the bus can be retrieved. A user can obtain theinformation by selecting the link or the information can be obtainedautomatically. In another use case, multiple beacons can be used todetermine an accurate location (via triangulation of the angles ofarrive from the beacons) of the mobile device within a facility, even ifit is indoors where GPS signals may not be accurate. In one example, aseries of beacons can be used for a walking tour in a museum whereinformation can be presented to one or more mobile devices (carried bymuseum patrons) based on the position of the mobile device ororientation of the mobile device to the one or more beacons that can beplaced on or near various exhibits.

In some embodiments, the signal strength of the transmitted signal canbe used as a rough way to calculate time of flight and calculate a roughestimate of range between the transmitter and the receiver.

A receiving electronic device (e.g., mobile device (may be provided withwireless circuitry. The wireless circuitry may include one or moreantennas. The antennas may be configured to receive IEEE 802.15.4ultra-wideband communications signals and/or millimeter wave signals.The antennas may also include wireless local area network antennas,satellite navigation system antennas, cellular telephone antennas, andother antennas.

The electronic device may be provided with control circuitry and adisplay. The control circuitry may determine where nearby electronicdevices are located relative to the electronic device. The display mayproduce images that indicate where the nearby device is located. Thecontrol circuitry may determine when the electronic device is orientedin a particular way relative to a nearby device. In response todetermining that the electronic device is arranged end-to-end orside-to-side with another device, for example, the control circuitry mayuse wireless transceiver circuitry to automatically exchange informationwith the electronic device or may automatically prompt the user toindicate whether the user would like to exchange information with theelectronic device.

The control circuitry may determine the location of a nearby electronicdevice by calculating the angle of arrival of signals that aretransmitted by the nearby electronic device (e.g., a beacon). To obtaina complete, unambiguous angle of arrival solution, the electronic devicemay be moved into different positions during angle of arrivalmeasurement operations. At each position, the control circuitry maycalculate a phase difference associated with the received signals.Motion sensor circuitry may gather motion data as the electronic deviceis moved into the different positions. The control circuitry may use thereceived antenna signals and the motion data to determine the completeangle of arrival solution.

The ranging functionality can be implemented in combination with anotherwireless protocol, which can establish an initial communication session,e.g., to perform authentication and/or exchange ranging settings.Additional wireless protocols can also be used, e.g., for transmissionof content from one device to the other. For instance, a video or audiofile can be transferred from one device to the other after ranging hasbeen performed.

These and other embodiments of the disclosure are described in detailbelow. For example, other embodiments are directed to systems, devices,and computer readable media associated with methods described herein.

A better understanding of the nature and advantages of embodiments ofthe present disclosure may be gained with reference to the followingdetailed description and the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a sequence diagram for performing a ranging measurementbetween two mobile devices according to embodiments of the presentdisclosure.

FIG. 2 illustrates a sequence diagram involving a primary device(referred to as a transmitting device or beacon) and a receiving devicewith a multiple-antenna array.

FIG. 3 illustrates schematically an example of one-to-many communicationtechniques involving a transmitting device and multiple receivingdevices.

FIG. 4 illustrates a one-to-many communication group involving a primarydevice (referred to as a transmitting device or beacon) and a receivingdevice with a multiple-antenna array.

FIG. 5 is a schematic diagram showing how angle of arrival measurementtechniques may be used to determine the orientation of device relativeto nodes.

FIG. 6 illustrates a communication technique using a passive beacon in amuseum setting.

FIG. 7 illustrates a communication technique using a passive beacon at atransportation location (e.g., a bus stop).

FIG. 8 illustrates a positioning technique using multiple passivebeacons.

FIG. 9 illustrates an exemplary sequence diagram for passive beaconcommunication techniques.

FIG. 10 illustrates an exemplary flowchart for a communication techniqueperformed by a transmission device.

FIG. 11 illustrates an exemplary flowchart for a communication techniqueperformed by one or more receiving devices.

FIG. 12 is a block diagram of components of a mobile device operable toperform ranging according to embodiments of the present disclosure.

FIG. 13 is block diagram of an example device according to embodimentsof the present disclosure.

Like reference, symbols in the various drawings indicate like elements,in accordance with certain example implementations. In addition,multiple instances of an element may be indicated by following a firstnumber for the element with a letter or a hyphen and a second number.For example, multiple instances of an element 110 may be indicated as110-1, 110-2, 110-3 etc., or as 110 a, 110 b, 110 c, etc. When referringto such an element using only the first number, any instance of theelement is to be understood (e.g., element 110 in the previous examplewould refer to elements 110-1, 110-2, and 110-3 or to elements 110 a,110 b, and 110 c).

DETAILED DESCRIPTION

Certain embodiments are directed to techniques (e.g., a device, amethod, a memory or non-transitory computer readable medium storing codeor instructions executable by one or more processors) for communicationtechniques, e.g., using beacons.

Passive beacons can provide information to multiple mobile devices. Asan example, the information sharing techniques can gauge a user'sinterest in receiving the information. The interest can be measured bycalculating an angle of arrival of messages from the beacon to antennason the mobile device. Orientation data received from other sensors onthe mobile device can measure an orientation of the mobile device. Themobile device can use the angle of arrival data combined with theorientation data to determine if a user is directing the mobile devicetoward the beacon (or within a threshold of the beacon device). Theangle of arrival and orientation data can be used as an indicator ofuser interest in the information provided by the beacon. In variousembodiments, the beacons can provide a link in an information packet.The mobile devices can use those links to received information from anetwork (e.g., the Internet).

As another example, multiple passive beacons can be used at a locationto determine a precise location of the mobile device. Using thetechniques described herein, a mobile device can use triangulationtechniques using calculated angles of arrival from two or more beaconsat known locations to determine a precise location. This can be donepassively, so the mobile device does not need to transmit any signals.

The passive beaconing techniques described herein allow multiple usersto receive information without complex point-to-point informationsharing routines. The beacons can use a low-energy advertising mode toprovide timing information for transmission of information signals,enabling the receiving devices to conserve energy in a low power mode.The mobile devices can use signal strength of the received signals as athreshold determination to evaluate if communication techniques with thepassive beacon are possible.

The techniques described herein have numerous use cases. The beacons canprovide information to interested users at various transportationfacilities. This can include schedules, routes, fare information, andcontact information for transportation service provider. The beacons canbe used to provide information regarding exhibits in museums or atevents. The exhibit information can provide detailed information aboutthe exhibit, donors, historical background of exhibit, benefactors, andother similar exhibits. The beacons can be used to for precisionlocation determination indoors as part of a walking tour for a museum.The beacons can be used to provide information to users for variousvendors, stores, or restaurants. The vendor information can includemenus, price lists, inventory listings, available reservation times,contact information, reviews, sales, or event information.

In various embodiments, the mobile device can serve as a beacon forpoint-of-sale transaction for electronic payments. In this way, acustomer can receive a link from a beacon device for electronic paymentof goods and services using a mobile device.

A brief review of ranging and triangulation techniques follows below.

I. Ranging/Triangulation Techniques

A mobile device can include circuitry for performing rangingmeasurements. Such circuitry can include one or more dedicated antennas(e.g., three antennas) and circuitry for processing measured signals.The ranging measurements can be performed using the time-of-flight ofpulses between the two mobile devices. In some implementations, around-trip time (RTT) is used to determine distance information, e.g.,for each of the antennas. In other implementations, a single-trip timein one direction can be used. The pulses may be formed usingultra-wideband (UWB) radio technology.

A. Sequence Diagram

FIG. 1 shows a sequence diagram 100 for performing a ranging measurementbetween two mobile devices according to embodiments of the presentdisclosure. The two mobile devices may belong to two different users. Invarious embodiments, the mobile device 110 can be a beacon. The twousers may know each other, and thus have each other's phone numbers orother identifiers. As described in more detail later, such an identifiercan be used for authentication purposes, e.g., so ranging is notperformed with unknown devices. Although FIG. 1 shows a singlemeasurement, the process can be repeated to perform multiplemeasurements over a time interval as part of a ranging session, wheresuch measurements can be averaged or otherwise analyzed to provide asingle distance value, e.g., for each antenna.

A first mobile device 110 (e.g., a smartphone) can initiate a rangingmeasurement (operation) by transmitting a ranging request 101 to asecond mobile device 120. Ranging request 101 can include a first set ofone or more pulses. The ranging measurement can be performed using aranging wireless protocol (e.g., ultra-wideband (UWB)). The rangingmeasurement may be triggered in various ways, e.g., based on user inputand/or authentication using another wireless protocol, e.g., BluetoothLow Energy (BLE).

At T1, the first mobile device 110 transmits ranging request 101. At T2,the second mobile device 120 receives ranging request 101. T2 can be anaverage received time when multiple pulses are in the first set. Thesecond mobile device 120 can be expecting the ranging request 101 withina time window based on previous communications, e.g., using anotherwireless protocol. The ranging wireless protocol and another wirelessprotocol can be synchronized so that mobile device 120 can turn on theranging antenna(s) and associated circuitry for a specified time window,as opposed to leaving them on for an entire ranging session.

In response to receiving the ranging request 101, mobile device 120 cantransmit ranging response 102. As shown, ranging response 102 istransmitted at time T3, e.g., a transmitted time of a pulse or anaverage transmission time for a set of pulses. T2 and T3 may also be aset of times for respective pulses. Ranging response 102 can includetimes T2 and T3 so that mobile device 110 can compute distanceinformation. As an alternative, a delta between the two times (e.g.,T3-T2) can be sent. The ranging response 102 can also include anidentifier for the first mobile device 110, an identifier for the secondmobile device 120, or both.

At T4, the first mobile device 110 can receive ranging response 102.Like the other times, T4 can be a single time value or a set of timevalues.

At 103, the first mobile device 110 computes distance information 130,which can have various units, such as distance units (e.g., meters) oras a time (e.g., milliseconds). Time can be equivalent to a distancewith a proportionality factor corresponding to the speed of light. Insome embodiments, a distance can be computed from a total round-triptime, which may equal T2-T1+T4-T3. In some embodiments, the processingtime for the second mobile device 120 can also be subtracted from thetotal round-trip time. More complex calculations can also be used, e.g.,when the times correspond to sets of times for sets of pulses and when afrequency correction is implemented.

However, ranging may not be required and may be difficult in certainapplications. As the number of participating devices increases thecomplexity of the ranging sessions also increases due to potential ofcollisions between ranging packets in the same frequency band. Inaddition, other ranging techniques can be complicated when one or moremobile devices enter or leave the communication session especially ofthe mobile device is designated at the coordinator mobile device.Therefore, one-way communication techniques can provide information tomobile device when location of the mobile device is not required. Inaddition, multiple beacons can be used for precise position location ofmobile devices with the receiving devices in a passive receive onlymode.

B. Triangulation to Determine Angle of Arrival

FIG. 2 shows a sequence diagram 200 of a ranging operation involving abeacon device 210 and a mobile device 220 having three antennas 221,222, and 223 according to embodiments of the present disclosure.Antennas 221, 222, 223 can be arranged to have different orientations,e.g., to define a field of view for calculating angle of arrival or forperforming ranging measurements.

In this example of FIG. 2 , each of antennas 221, 222, 223 receives apacket (including one or more pulses) that is transmitted by mobiledevice 210 (e.g., a beacon). These packets can transfer information toone or more mobile devices 220 such as links to information or rangingrequests. The link can be received by the mobile device. In someembodiments, the link can be selected by a user of the mobile device,resulting in information being retrieved from a network via a thirdwireless protocol to the mobile device. In some embodiments, the linkcan be a deep link. In the context of the World Wide Web, deep links canbe a hyperlink that links to a specific, generally searchable orindexed, piece of web content on a website, rather than the website'shome page.

Mobile device 220 can have multiple antennas, which can be used todetermine angular information related to an orientation of mobile device220 relative to beacon device 210. The packets can be received at timesT2, T3, and T4, by antennas 221, 222, and 223, respectively. Thus, theantenna(s) (e.g., UWB antennas) of mobile device 220 can listen atsubstantially the same time. In various embodiments, each of theantennas 221, 222, and 223 can respond independently.

Processor 224 of mobile device 220 can calculate an angle of arrival tothe beacon device 210. Processor 224 can receive the time of arrival ofthe packets from the antennas 221, 222, and 223. The mobile device 220circuitry (e.g., UWB circuitry) can analyze the received signals fromantennas 221, 222, 223. As described later, processor 224 can be analways-on processor that uses less power than an application processorthat can perform functionality that is more general. The processor 224can know the geometry of the three antennas on the phone. The processor224 can also know the orientation of the mobile device 220 from one ormore sensors on the mobile device 220 (e.g., accelerometer, gyroscope,and compass). With the known orientation of the antennas 221, 222, and223, and the known orientation of the mobile device 220, the processorcan use the times of arrival T2, T3, and T4 to calculate an angle ofarrive of the packet to the beacon device 210.

Accordingly, a mobile device can have multiple antennas to performtriangulation. The separate measurements from different antennas can beused to determine a two-dimensional (2D) position, as opposed to asingle distance value that could result from anywhere on a circle/spherearound the mobile device. The two-dimensional (2D) position can bespecified in various coordinates, e.g., Cartesian, or polar, where polarcoordinates can comprise an angular value and a radial value.

II. Communication Techniques Using a Beacon Device

A beacon device can be used to provide information to one or more mobiledevices. Previous techniques may have direct, bi-directionalcommunications between a beacon and the one or more mobile devices.However, these previous techniques utilized complex scheduling schemesto minimize or account for packet collisions between messages in thesame frequency band. Bi-directional communication techniques increasethe power requirements for the one or more mobile devices because themobile devices consume more power transmitting one or more messages.

Communication techniques that require direct links are inefficientbecause of the power and time required for separate communications formultiple devices. The disclosed techniques allow for communicationtechniques between multiple devices using a single transmitting device(e.g., a beacon). As examples, the transmitting device can comprise asmartphone, a tablet, a wearable device, a laptop, a smart speaker, awireless hub, or a portable electronic device.

FIG. 3 illustrates a communication group 300 involving a transmittingdevice 310 (e.g., a beacon) and multiple receiving devices 320 a, 320 b,320 c, and 320 d. The transmitting device 310 may send signals to thesecondary devices 320 a-320 d to facilitate communication sessions. Invarious embodiments, the signals can be a low power signal (e.g.,Bluetooth Low Energy (BLE). The signals can be used by the receivingdevices to determine one or more-time windows for communication ofinformation. The transmitting device 310 can transmit a communicationpacket that can be received by one or more of the multiple receivingdevices 320 a, 320 b, 320 c, and 320 d. The communication packet cancontain information such as links or deep links that the receivingdevice can use to access information. A link may be as simple a websiteaddress. In the context of the World Wide Web, deep links can be ahyperlink that links to a specific, generally searchable or indexed,piece of web content on a website, rather than the website's home page.

As an example, a transmitting device can be attached to or integratedinto a signpost for a bus stop. The transmitting device can transmit acommunication packet to one or more mobile devices. In variousembodiments, a user of the mobile device user would need to point themobile device within a threshold of the beacon to receive thecommunication packet. In this way, the user would be able to indicate aninterest in the information. The communication packet can include a linkto a website that provides the bus schedule, the next scheduled stop,the route, fare information, etc. In some embodiments, a user can orienta receiving device (e.g., a smartphone) toward the post to receive theinformation regarding the bus.

As another example, a transmitting device can be located at variouspoints around a location (e.g., a museum). The transmitting device cantransmit information or links to information about the location or theone or more exhibits at the location. The information or links to theinformation can be received via a network (e.g., the Internet).

Global navigation satellite systems (GNSS) signals, such as the globalpositioning system (GPS) signals, can be an important aspect ofdevice-to-device (D2D) communications, as it may be important for thesecondary devices 320 a-320 d to know the exact location of the primarydevice 310 and the exact time when the primary device 310 broadcast amessage. For example, in case of an emergency, the primary device 310may broadcast an emergency message to all secondary devices 320 a-320 dwithin a communication range of the primary device 310.

A secondary device 320 a-320 d receiving the emergency message may needto know the location of the primary device 110 in order to provide help.The secondary device 320 a-320 d may also need to know the time when theemergency message was sent, e.g., in order to determine whether theemergency message is still relevant, to determine whether thetransmitting device may have moved, etc. The position information andtiming information can be important in other situations. The primarydevice 310 may maintain position fixes (e.g., in terms of longitude andlatitude) and time through satellite signals. The secondary devices maynot have position fixes directly through satellite signals.

The communications between the devices can be implemented using frames.A frame can refer to a digital data transmission unit in computernetworking and telecommunication. A frame typically includes one or moreframe synchronization features comprising a sequence of bits or symbolsthat indicate to the receiver the beginning and end of the payload datawithin the stream of symbols or bits it receives.

A. Low Energy Protocols

A passive beacon can transmit a timing signal via a wireless protocol(e.g., Bluetooth Low Energy (BLE) advertising). One of the advantages ofBLE is lower power consumption even when compared to other low powertechnologies. BLE achieves the optimized and low power consumption bykeeping the radio off as much as possible and sending small amounts ofdata at low transfer speeds. Another advantage of BLE is that it isenabled in most smartphones in the market.

One of the limitations of BLE is limited data throughput. The datathroughput of BLE is limited by the physical radio layer (PHY) datarate, which is the rate at which the radio transmits data. This ratedepends on the Bluetooth version used. For Bluetooth 4.2 and earlier,the rate is fixed at 1 megabits per second (Mbps). For Bluetooth 5 andlater, however, the rate varies depending on the mode and PHY used. Therate can be 1 Mbps like earlier versions, or 2 Mbps when utilizing thehigh-speed feature. Another limitation of BLE is the limited range.Bluetooth Low Energy (and Bluetooth in general) was designed forshort-range applications and hence the range of operation is limited.There are a few factors that limit the range of BLE. The factors includethat BLE operates in the 2.4 GHz Industrial, Scientific, and Medical(ISM) spectrum which is greatly affected by obstacles that exist allaround us such as metal objects, walls, and water (especially humanbodies). Other factors include performance and design of the antenna ofthe BLE device, physical enclosure of the device, and deviceorientation.

BLE requires a gateway for Internet connectivity. In order to transferdata from a BLE-only device to the Internet, another BLE device that hasan IP connection is needed to receive this data and then, in turn, relayit to another IP device (or to the Internet).

In the advertising state, a device sends out packets containing usefuldata for others to receive and process. The packets are sent at a fixedinterval defined as the Advertising Interval. The interval can be randomor pseudo-random. There are 40 RF channels in BLE, each separated by 2MHz (center-to-center). Three of these channels are called the PrimaryAdvertising Channels, while the remaining 37 channels are used forSecondary Advertisements and for data packet transfer during aconnection. Advertisements can start with advertisement packets sent onthe three Primary Advertising Channels (or a subset of these channels).This allows centrals to find the Advertising device (Peripheral orBroadcaster) and parse its advertising packets. The central can theninitiate a connection if the advertiser allows it (e.g., peripheraldevices).

B. Ultra-Wideband Packet Transmissions

Ultra-Wide Band transmissions are not continuous transmissions, so areceiving device looking to acquire the UWB transmission would eitherneed knowledge of the start time of the transmission or would need toexpend energy in a powered-on state listening until the device capturesthe impulse UWB signal. If the receiving device knows even anapproximate time of transmission, the receiver can remain in areduced-power or sleep mode until just prior to the transmission time.For UWB communications, it can be challenging the receiving device toknow when the first packet is going to arrive.

A technique to propagate the UWB transmission times is to broadcast thetransmission time information at a defined time after an advertisementsignal using another wireless protocol, e.g., Bluetooth Low Energy (BLE)advertisement transmissions. Although examples may refer to Bluetooth,other wireless protocols may be used. BLE has 40 physical channels inthe 2.4 gigahertz (GHz) ISM band, each separated by 2 megahertz (MHz).Bluetooth defines two transmission types: data and advertisingtransmissions. As such, three of these 40 channels are dedicated toadvertising and 37 dedicated to data. Advertising allows devices tobroadcast information defining their intentions.

The UWB information packets can be structured to transmit at a specifictime relative to the transmitting device's BLE advertisements.Accordingly, the receiving device can listen for the UWB packets at anexpected time or during an expected time window around the expectedtime. The UWB packets can convey transmitting device information, deeplinks, and/or transmission time information. The receiver device can usethe time in the BLE advertising message to determine when to listen forthe next poll. The UWB packets can be transmitted in the UWB frequencyrange.

The wireless protocol used for ranging can have a narrower pulse (e.g.,a narrower full width at half maximum (FWHM)) than a first wirelessprotocol (e.g., Bluetooth) used for initial authentication orcommunication of ranging settings. In some implementations, the rangingwireless protocol (e.g., UWB) can provide distance accuracy of 5 cm orbetter. In various embodiments, the frequency range can be between 3.1to 10.6 Gigahertz (GHz). Multiple channels can be used, e.g., onechannel at 6.5 GHz another channel at 8 GHz. Thus, in some instances,the ranging wireless protocol does not overlap with the frequency rangeof the first wireless protocol (e.g., 2.4 to 2.485 GHz).

The ranging wireless protocol can be specified by IEEE 802.15.4, whichis a type of UWB. Each pulse in a pulse based UWB system can occupy theentire UWB bandwidth (e.g., 500 MHz), thereby allowing the pulse to belocalized in time (i.e., narrow width in time, e.g., 0.5 ns to a fewnanoseconds). In terms of distance, pulses can be less than 60 cm widefor a 500 MHz-wide pulse and less than 23 cm for a 1.3 GHz-bandwidthpulse. Because the bandwidth is so wide and width in real space is sonarrow, very precise time-of-flight measurements can be obtained.

Each one of ranging messages (also referred to as frames or packets) caninclude a sequence of pulses, which can represent information that ismodulated. Each data symbol in a frame can be a sequence. The packetscan have a preamble that includes header information, e.g., of aphysical layer and a media access control (MAC) layer and may include adestination address. In some implementations, a packet frame can includea synchronization part and a start frame delimiter, which can line uptiming.

A packet can include how security is configured and include encryptedinformation, e.g., an identifier of which antenna sent the packet. Theencrypted information can be used for further authentication. However,for a ranging operation, the content of the data may not need to bedetermined. In some embodiments, a timestamp for a pulse of a particularpiece of data can be used to track a difference between transmission andreception. Content (e.g., decrypted content) can be used to match pulsesso that the correct differences in times can be computed. In someimplementations, the encrypted information can include an indicator thatauthenticates which stage the message corresponds, e.g., rangingrequests can correspond to stage 1 and ranging responses can correspondto stage 2. Such use of an indicator may be helpful when more than twodevices are performing ranging operations in near each other.

The narrow pulses (e.g., ˜ one nanosecond width) can be used toaccurately determine a distance. The high bandwidth (e.g., 500 MHz ofspectrum) allows the narrow pulse and accurate location determination. Across correlation of the pulses can provide a timing accuracy that is asmall fraction of the width of a pulse, e.g., providing accuracy withinhundreds or tens of picoseconds, which provides a sub-meter level ofranging accuracy. The pulses can represent a ranging waveform of plus1's and minus 1's in some pattern that is recognized by a receiver. Thedistance measurement can use a round trip time measurement, alsoreferred to as a time-of-flight measurement. As described above, themobile device can send a set of timestamps, which can remove a necessityof clock synchronization between the two devices.

Mobile devices may use Global Navigation Satellite Systems (GNSS) (e.g.,Global Positioning System (GPS)) or other location circuitry todetermine the location of the mobile device. For example, a mapapplication can show an approximate location of the mobile device on amap. However, such techniques for determining location are typicallydetermined relative to some external reference frame that is fixed, andnot to a variable reference frame, e.g., another mobile device.Additionally, GNSS systems can be limited indoors or in areas of blockedsignals (e.g., dense urban environments) or suffer from inaccuraciesfrom reflected signals. Further the standard accuracy for GPS systems iscurrently 4 meters for horizontal accuracy and worse for verticalaccuracy. Enhanced communication techniques can allow for informationexchanges that allow for angular determination, ranging, and informationexchanges between electronic devices.

FIG. 4 illustrates a one-to-many communication group 400 involving atransmitting device 410 (e.g., a beacon) and a receiving device 420. Thereceiving device 420 can have a plurality of antennas in differentorientations mounted on the receiving device 420. For example, a firstantenna 402, a second antenna 404, a third antenna 406 can be installedon the receiving device 420. The antenna configuration shown in FIG. 4is merely exemplary and other antenna array configurations with variousnumber, location and orientations of antennas can be employed.

The transmitting device 410 can transmit messages that travel in anomnidirectional manner. FIG. 4 illustrates the position of thetransmission packet at various points in time. At a first time t₁ thetransmission packet is a first range 430 from the transmitting device410. At a second time t₂ the transmission packet is a second range 432from the transmitting device 410. At a third time t₃ the transmissionpacket is a third range 434 from the transmitting device 410. At afourth time t₄ the transmission packet is a fourth range 436 from thetransmitting device 410.

The transmission packet can be received by the different antennas 402,404, 406 of the receiving devices 420 at different times (t₁, t₂, t₃).Based on the depicted orientation, the first antenna 402 would receivethe transmission packet first at time t₁, followed by the second antenna404 at time t₂, and finally the third antenna 406 at time t₃. Thereceiving device 420 can use the different reception times at thedifferent antennas to calculate an angle of arrival from the receivingdevice 420 to the transmitting device 410 transmitting device 410.

FIG. 5 is a schematic diagram 500 showing how angle of arrivalmeasurement techniques may be used to determine the orientation ofdevice 510 relative to nodes 578. The term “node” may be used to referto an electronic device, an object without electronics, and/or aparticular location. In some arrangements, nodes may be associated witha mapped environment (e.g., the term node may refer to a device, object,or location in a mapped environment). Devices 510 may have controlcircuitry that determines where other nodes are located relative todevice 510. The control circuitry in device 510 may synthesizeinformation from cameras, motion sensors, wireless circuitry such asantennas, and other input-output circuitry to determine how far a nodeis relative to device 510 and/or to determine the orientation of device510 relative to that node. The control circuitry may use outputcomponents in device 510 to provide output (e.g., display output, audiooutput, haptic output, or other suitable output) to a user of device 510based on the position of the node. The control circuitry may, forexample, use antenna signals and motion data to determine the angle ofarrival of signals from other electronic devices to thereby determinethe locations of those electronic devices relative to the user'selectronic device.

As shown in FIG. 5 , electronic device 510 may include multiple antennas(e.g., a first antenna 548-1 and a second antenna 548-2) coupled totransceiver circuitry 576 by respective transmission lines 570 (e.g., afirst transmission line 570-1 and a second transmission line 570-2).Antennas 548-1 and 548-2 may each receive a wireless signal 558 fromnode 578. Antennas 548-1 and 548-2 may be laterally separated by adistance d1, where antenna 548-1 is farther away from node 578 than548-2 (in the example of FIG. 5 ). Therefore, wireless communicationssignal 558 travels a greater distance to reach antenna 548-1 than 548-2.The additional distance between node 578 and antenna 548-1 is shown inFIG. 5 as distance d2. FIG. 5 also shows angles x and y (where x+y=90°).

Distance d2 may be determined as a function of angle γ or angle x (e.g.,d2=d1 sin(x) or d2=d1 cos(y)). Distance d2 may also be determined as afunction of the phase difference between the signal received by antenna548-1 and the signal received by antenna 548-2 (e.g., d2=(Δϕλ)/(2π),where Δϕ is the phase difference between the signal received by antenna548-1 and the signal received by antenna 548-2 and λ is the wavelengthof the received signal 558). Electronic device 510 may have phasemeasurement circuitry coupled to each antenna to measure the phase ofthe received signals and identify a difference in the phases (Δϕ). Thetwo equations for d2 may be set equal to each other (e.g., d1sin(x)=(Δϕλ)/(2π)) and rearranged to solve for angle x (e.g.,x=sin−1(Δϕλ)/(2πd1)) or may be rearranged to solve for angle γ. As such,the angle of arrival may be determined (e.g., by control circuitry)based on the known (predetermined) distance between antennas 548-1 and548-2, the detected (measured) phase difference between the signalreceived by antenna 548-1 and the signal received by antenna 548-2, andthe known wavelength or frequency of the received signals 558.

Distance d1 may be selected to ease the calculation for phase differencebetween the signal received by antenna 548-1 and the signal received byantenna 548-2. For example, d1 may be less than or equal to one half ofthe wavelength (e.g., effective wavelength) of the received signal 558(e.g., to avoid multiple phase difference solutions).

Some antenna arrangements may be sufficient for resolving the “complete”angle of arrival of signals 558 without ambiguity. A complete angle ofarrival (sometimes referred to as the direction of arrival) includes anazimuth angle θ and an elevation angle γ of node 578 relative to device5.

Antennas that are located in a three-dimensional arrangement (e.g.,spanning multiple planes) may be sufficient to determine the completeangle of arrival of signals 558 without ambiguity. However, when thebaseline vectors (i.e., the vectors that extend between respective pairsof antennas) are all located in one plane, there may be some ambiguityas to the correct azimuth angle θ and/or the correct elevation angle γof signals 558. In the two-antenna arrangement of FIG. 5 , for example,there is only one baseline vector 582, which yields an accurate,unambiguous azimuth angle θ, but may not provide sufficient informationto determine elevation angle φ. Thus, node 578′ with a differentelevation angle may nonetheless produce signals 558′ with the same phasedifference Δϕ between the signal received by antenna 548-1 and thesignal received by antenna 548-2 as signals 558. In other words,different directions of arrival may result in the same phase difference.This leads to an ambiguity in the angle of arrival solution. Withoutother information, control circuitry may be able to determine theazimuth angle θ of signals 558 but may be unable to determine elevationangle γ of signals 558. Systems with three or more coplanar antennaswill resolve some but not all ambiguities in the angle of arrivalbecause the baseline vectors will still be located in the same plane.

To help resolve ambiguities in the complete angle of arrival, controlcircuitry may combine antenna signals with motion data gathered usingmotion sensor circuitry. In particular, control circuitry may obtainangle of arrival measurements (e.g., measurements of azimuth angle θand/or elevation angle φ) while device 510 is in multiple differentpositions. At each position, antennas 548 may receive signals 558 fromnode 578 and control circuitry may determine the possible angle ofarrival solutions based on the phase difference between signals receivedby antenna 548-1 and signals received by antenna 548-2. Motion sensorcircuitry may track the movement of device 510 as it is moved from oneposition to another. Using the motion data from motion sensor circuitry,control circuitry may associate each set of angle of arrival solutionswith a different baseline vector 582. The baseline vectors may spanmultiple planes, thus providing sufficient information for controlcircuitry to determine the correct angle of arrival, just as if device510 had a multi-planar antenna arrangement.

It should be understood that using a horizontal coordinate system andrepresenting the complete angle of arrival with azimuth and elevationangles is merely illustrative. If desired, a Cartesian coordinate systemmay be used, and the angle of arrival may be expressed using a unitdirection vector that is represented using x, y, and z coordinates.Other coordinate systems may also be used. A horizontal coordinatesystem is sometimes described herein as an illustrative example.

III. Beacon Communication Techniques Use Cases

In various embodiments, the beacon communication techniques can be usedto provide information to receiving devices based on a positioning ofthe receiving device. In this way, the user(s) of the one-to-manyreceiving devices can indicate an interest in the information prior toreceiving the information from the transmitting device. Pre-existinglocation-based services may provide advertising to receiving devicesbased on location, but this can be undesirable and unwanted by usersbecause location alone may not indicate interest by the user.

A. Single Beacon

FIG. 6 illustrates an exemplary use case of beacon communicationtechniques. In the case a beacon 604 can be installed in a location. Invarious embodiments, the beacon 604 can be installed in the vicinity ofan exhibit 606. In FIG. 6 , the beacon is installed above the exhibit,but the disclosure is not so limited as the beacon can be quite small.The beacon 604 can be installed in any orientation around or behind anexhibit. In the exemplary use case, a user 600 can orient their mobiledevice 602 toward the beacon 604. In various embodiments, the mobiledevice 602 can be pointed at the beacon 604 or within a threshold 608around the beacon 604.

The beacon 604 can transmit one or more wireless signals. The beacon 604can transmit, at 61, a first wireless signal (e.g., an Advertisingsignal 605). The wireless signals can be received by the mobile device602. The first wireless signal can be used to determine a listeningwindow for receiving, at 62, a second wireless signal (e.g., positioningsignal 610).

The beacon 604 can transmit, at 62, positioning data 610 (e.g., a link)to the mobile device 602. In various embodiments the advertising signal605 can include a link. The user 600 can select, at 63, the link ineither the advertising signal 605 or the positioning data 610. Byselecting, at 63, the link, the mobile device 602 can transmit, at 64, arequest 614 for information 616 to a network 612. The network 612 cantransmit, at 65, the information 616 from a network 612 (e.g., theInternet) via a third wireless protocol.

The mobile device 602 can calculate an angle of arrival of the wirelesssignals from the beacon 604. If the angle of arrive is within athreshold, the processor of the mobile device 602 can determine it iswithin a threshold of the beacon 604. If the mobile device 602 is withinthe threshold angle of arrival, the processor can make the determinationthat the user 600 is pointing the mobile device 602 towards the beacon604 thereby signaling and interest in the information that can beprovided by the beacon 604. The angle of arrival can be calculated withrespect to an orientation of the mobile device 602. In one example, thebeacon 604 transmits an information packet over a wireless protocol. Themobile device 602 can determine when the information packet will betransmitted via a first wireless advertising signal from the beacon 604.The mobile device 602 can listen for the information packet during thecalculated listening window.

FIG. 7 illustrates another exemplary use case in which a beacon device704 can be installed in a sign 706 for transportation (e.g., a busstop). As depicted in FIG. 7 a beacon device 704 is installed in a sign706 for a bus stop, here the N79 bus route. A user 700 can orient amobile device 702 toward the sign/beacon device 704. The processor inthe mobile device 704 can receive an angle of arrival of wirelesssignals transmitted from the beacon device 704. If the mobile device 704is oriented within a threshold 708 of the beacon device 704, theprocessor of the mobile device 702 can detect that the mobile device 702is pointed toward the beacon device 704 thereby indicating some interestin the information that can be provided by the beacon device 704.

At a predetermined time interval, the beacon device 704 can transmitinformation over a wireless protocol. The interval can be random orpseudo-random. The beacon device 704 can transmit, at 71, a firstwireless signal (e.g., an Advertising signal 705). The first wirelesssignal can be used to determine a listening window for receiving, at 62,a second wireless signal (e.g., link data 710). The first wirelesssignal can be used to determine a listening window for receiving, at 72,a second wireless signal (e.g., link data 710). The angle of arrival canbe calculated with respect to an orientation of the mobile device 702.In one example, the beacon device 704 transmits an information packetover a wireless protocol. The mobile device 702 can determine when theinformation packet will be transmitted via a first wireless advertisingsignal from the beacon device 704. The mobile device 702 can listen forthe information packet during the calculated listening window.

The beacon device 704 can transmit, at 72, positioning data 710 (e.g., alink) to the mobile device 702. In various embodiments the advertisingsignal 705 can have a link. The user 700 can select, at 73, the link ineither the advertising signal 705 or the positioning data 710. Byselecting, at 73, the link, the mobile device 702 can transmit, at 74, arequest 715 for information to a network 712. The network 712 cantransmit, at 75, the information 716 from a network 712 (e.g., theInternet).

The beacon device 704 can transmit, at 71, link data 710 (e.g., a deeplink) to the mobile device 702. The user 700 can use the link data 710to receive, at 73, information 714 from a network 712 (e.g., theInternet). The information 714 can include a bus schedule, time or nextbus, bus fare information, or other transit information.

While the example in FIG. 7 illustrates a bus stop other embodiments canbe considered such as a train stop, trolley stop, subway stop, orshuttle stop. In various embodiments, the beacon can be embedded in awall, platform, or an overhead sign at a location. In variousembodiments, the beacon device 704 can be embedded in the transportationmode itself (e.g., the bus, the train car, the subway car, the shuttle).

In other embodiments, the beacon communication techniques can be usedfor an audio tour of a museum. The transmitting devices can provideinformation concerning one or more exhibits throughout the museum.Multiple transmitter devices can be used in triangulation techniques forprecise position locating at locations (e.g., indoor, or dense urbanenvironments) for receiving devices where GNSS systems may beunavailable or unreliable. In various embodiments, a receiving devicecan be carried using a lanyard case to maintain the orientation of thereceiving device. By maintaining the orientation in a predictablemanner, the angle of arrival information can be useful for orientation.

The transmitting devices (e.g., beacons) can be used at variousbusinesses, on public transportation (e.g., buses, trains, trolleys), orat exhibits in a museum. For example, a transmitting device can transmitinformation concerning the business (e.g., operating hours, a menu,review, or Yelp information for a business like a restaurant).

In various embodiments, receiving devices (e.g., beacons) can beinstalled by a city or municipality using open standard. In this way,apps can be registered with these receiving devices. In variousembodiments, applications on the receiving devices can displayinformation concerning these transmitting devices or informationprovided by these transmitting devices.

In various embodiments, the passive beacon communication techniques canbe used for application data handoff. For example, a user can watch avideo on a smartphone (receiving device) and by pointing the smartphoneat a laptop, as a transmitting device, the video can be transferred tothe laptop from the smartphone. Similar handoffs can be accomplishedbetween other device such as between a smartphone and a smart speaker, awearable device to a smartphone or other smart device.

In various embodiments, the passive beacon communication techniques canbe used for point of sale. For example, merchants at remote locationscan use transmitting devices to allow customers to engage with paymentor sales with the merchant. In some embodiments, if a receiving deviceis within a threshold, the receiving device can present a payment screento the customer.

A user of one mobile device may want to share data (e.g., a video oraudio file) to another user. The user could attach a file to an emailand send, but this can be slow and expose the data to a network. Thus,it may be advantageous to send the data directly to the other device,e.g., using Bluetooth or Wi-Fi direct (also called peer mode or ad-hocmode), or at least only through a local access point/router. Forexample, the user's device can detect other nearby devices and displaythem as options for sharing the data.

Sharing data in this manner can be problematic when there are multipledevices nearby. For example, if two people (i.e., sender and receiver)are in a crowd, the discovery process can identify multiple devices. Ifmultiple devices are displayed as options, their icons can be difficultto display on a single screen, thereby causing frustration to a user,who wants to select a friend's device quickly. It is possible to onlydisplay icons of other devices that show up in a contact list of thesending device. This can limit the number of devices shown as optionsfor sending the data. However, such a requirement can limit the abilityto share data to a new person. In addition, the requirement of being inthe contact list does not address when a user is among many friends,coworkers, etc., where all or many of them are in the contact list.Embodiments can use ranging to facilitate this process.

B. Multiple Beacons

FIG. 8 illustrates a passive beacon communication group 800 involvingmultiple transmitting devices 810 a, 810 b, 810 c and a receiving device820. Although three transmitting devices 810 a, 810 b, 810 c areillustrated in FIG. 8 , other combinations, configurations, andarrangements can be considered. For various embodiments for passivecalculation of location, two transmitting devices can be used. Althoughone receiving device 820 is illustrated, multiple receiving devices canbe used in passive beacon communication techniques. In variousembodiments, the transmitting devices 810 a, 810 b, and 810 c can bepositioned throughout a given environment (e.g., an indoor layout of amuseum).

Each of the multiple transmitting devices 810 a, 810 b, 810 c cangenerate and transmit ranging information packets. In variousembodiments the information packets can be ranging packets. In variousembodiments, the multiple transmitting devices 810 a, 810 b, 810 c areat a known geographic position or location (e.g., a location within anexhibit hall).

In various embodiments, the receiving device 820 can receive one or moreinformation packet transmissions 802 a, 802 b, 802 c from thetransmitting devices 810 a, 810 b, 810 c. The receiving device 820 cancalculate an angle of arrival for each of the information packettransmissions 802 a, 802 b, 802 c (using techniques previouslydescribed).

In various embodiments, the angles of arrival to each of thetransmitting devices can be used to calculate a probable location or anarea of probability 830 for the location of the receiving device 820. Inthis way, the receiving device 820 can passively receive informationfrom the transmitting devices 810 a, 810 b, 810 c to calculate a preciselocation of the receiving device 820 even if indoors or an area withoutGNSS coverage.

IV. Passive Beacon Communication Scheduling

In some embodiments, a transmitting device can perform the function of abeacon. The electronic device can be a cell phone, a smartphone, tablet,or similar potable electronic device. The beacon can be fixed orstationary.

FIG. 9 illustrates an exemplary depiction of a timeline 900 for usingthe Bluetooth low energy (BLE) advertisement signals to synchronize thetiming for transmission of UWB packets. FIG. 9 illustrates a timeline900 for transmission of multiple signals (e.g., UWB signals and BLEsignals) from a single device. A transmitter device can transmit a UWBpackets 902 a-902 j at an irregular schedule. The transmitter device canalso transmit BLE advertisements 904 in a separate band to notify otherdevices when to listen for the next UWB packet 902 a-902 jtransmissions. For example, the BLE advertisements 904 can betransmitted approximately every 30 milliseconds. The BLE advertisements904 can be transmitted irregularly to avoid collisions between datapackets. Thus, BLE advertisements 904 can be transmitted at apredetermined interval (e.g., every 30 seconds) plus some random delayof 0 to 10 milliseconds. This provides random dithering betweenadvertisements. The transmitter device can transmit a UWB packet 902a-902 j at a fixed time interval (ΔT) 908 following the transmission ofthe BLE advertisement 904. The time interval (ΔT) 908 can bepredetermined so the receiving device can know to listen for the UWBpacket 902 a-902 j after a predetermined time after transmission of theBLE advertisement 904.

In other embodiments, for each time slot there can be a different BLEadvertisement signal 904 and different UWB packets 902 a-902 j for thatspecific timeslot to synchronize the timing between the transmittingdevice and the receiving device in the timeslot.

In some embodiments, a mobile device can include circuitry forperforming ranging measurements. Such circuitry can include one or morededicated antennas (e.g., 3) and circuitry for processing measuredsignals. The ranging measurements can be performed using thetime-of-flight of pulses between the two mobile devices. In someimplementations, a round-trip time (RTT) is used to determine distanceinformation, e.g., for each of the antennas. In other implementations, asingle-trip time in one direction can be used. The pulses may be formedusing ultra-wideband (UWB) radio technology. Ranging techniques betweenmultiple devices can be challenging due to scheduling the transmissionof ranging request messages, response messages, and acknowledgementmessages on the same channel so that collisions between these messagesare minimized or avoided. These techniques can be better understood witha brief explanation of ranging techniques for mobile device.

V. Communication Techniques Flow—Transmitting Device

FIG. 10 illustrates an exemplary flowchart for a communication techniqueperformed by a computing device. Method 1000 can be used to determine aspatial relationship of other devices to the beacon. Method 1000 can beperformed by any device that acts as a transmitting device.

At 1002, the technique can include storing a schedule at thetransmitting device. The schedule can specify a transmission time fortransmitting ranging packets. The ranging packets can includeidentification information for the transmitting device. The transmittingdevice can signal the transmission of the ranging packets by using afirst wireless, low power protocol transmissions (e.g., Bluetooth LowEnergy). The schedule can be transmitted by the first wireless protocol.In some embodiments, the ranging packet transmission can occur apredetermined time (ΔT) after transmission of the first wirelessprotocol. In some embodiments, the schedule can be hard coded in one ormore receiving devices.

At 1004, the technique can include transmitting advertising packets atan interval using a first wireless protocol, the advertising packetsspecifying the schedule for transmitting the ranging packets. Theinterval can be random or pseudo-random. In various embodiments, theadvertising packets can be transmitted via a low-power protocol (e.g.,Bluetooth Low Energy). In various embodiments, the transmission schedulefor the advertising packets can be transmitted randomly or pseudorandomly. The one or more receiving devices can receive the advertisingpackets. In various embodiments, the advertising packets can includeinformation concerning the identity of the transmission device. In someembodiments, the advertising packets can include the schedule fortransmission of ranging packets. The one or more receiving device canuse the advertising packets as a timing signal to calculate atransmission time for ranging packets.

At 1006, the technique can include after transmitting an advertisingpacket, entering a reduced power state until the transmission timespecified by the schedule. The reduced power state enables thetransmitting device to reduce power consumption between transmissioncycles.

At 1008, the technique can include exiting the reduced power state atthe transmission time. In some embodiments, the transmitting device canexit the reduced power state a predetermined time prior to thetransmission time as determined by the schedule.

At 1010, the technique can include transmitting a ranging packet via asecond wireless protocol according to the schedule. The second wirelessprotocol can be an ultra-wideband protocol. The ranging packet caninclude identification information for the transmitting device.

It should be appreciated that the specific steps illustrated in FIG. 10provide particular techniques for passive beacon communicationtechniques according to various embodiments of the present disclosure.Other sequences of steps may also be performed according to alternativeembodiments. For example, alternative embodiments of the presentdisclosure may perform the steps outlined above in a different order.Moreover, the individual steps illustrated in FIG. 10 may includemultiple sub-steps that may be performed in various sequences asappropriate to the individual step. Furthermore, additional steps may beadded or removed depending on the particular applications. One ofordinary skill in the art would recognize many variations,modifications, and alternatives.

VI. Communication Techniques—Receiving Devices

FIG. 11 illustrates an exemplary flowchart for a communication techniqueperformed by one or more receiving device. Method 1100 can be used todetermine a spatial relationship of other devices to the transmittingdevice (e.g., a beacon). Method 1100 can be performed by any device thatacts as a receiving device.

At 1102, the technique can include receiving an advertising packet fromthe transmitting device via a first wireless protocol. The firstwireless protocol can be an efficient, low-power protocol (e.g.,Bluetooth Low Energy). Bluetooth Low Energy (BLE) is a low powerwireless technology used for connecting devices with each other. BLEoperates in the 2.4 GHz ISM (Industrial, Scientific, and Medical) band,and is targeted towards applications that need to consume less power andmay need to run on batteries for longer periods of time—months, and evenyears. The information packets can include identification informationfor the transmitting device. In various embodiments, the advertisingpacket can specify a schedule for transmitting information packets. Invarious embodiments, the identification information can include detailsabout an object to which the transmitting device is attached. Forexample, the transmitting device can be attached to a painting in amuseum exhibit. In various embodiments, the identification informationcan include links to information about the painting. In variousembodiments, the transmitter information can include a location of thetransmitting device. In various embodiments, the transmitter informationcan include a link to a floorplan for the transmitter location.

In various embodiments, the receiving device can use the advertisingpackets as a timing signal for synchronizing timing between thetransmitting and receiving devices. The receiving device can use thetime of the advertising packets to determine a listening window forreceiving one or more ranging signals. The listening window can be apreselected time after reception of the advertising packets. Thelistening window can be based at least in part on a ranging schedule. Invarious embodiments, the schedule can be hardcoded in the one or morereceiving devices. In various embodiments, the schedule can be hardcodedin the transmitting device.

In various embodiments, the receiving device can determine a signalstrength of the advertising signal of the advertising packets. If thesignal strength is below a predetermined threshold the receiving devicewill not be able to engage in various communication techniques.

In various embodiments, the technique can include determining, based onthe beacon identification information, the transmitting device hasinformation relevant to an application executing on the mobile device.The application can include functionality that is dependent on aposition of mobile device relative to the transmitting device. Invarious embodiments, the position includes an orientation of thereceiving device.

In various embodiments, one or more receiving devices can use thedetermined listening window to enter a reduced power mode until a timejust prior to the listening window. The receiving device can exit thereduced-power mode prior to the listening window.

At 1104, the technique can include receiving during a listening window,at an antenna array of the mobile device, a ranging signal via a secondwireless protocol during the listening window. As an example, the secondwireless protocol is an ultra-wide band signal. The antenna arraycomprises a plurality of antennas including a first antenna and a secondantenna. The additional antennas can form part of the array. The antennaelements can be at different positions and orientations on the mobiledevice. Based at least in part on the position and orientation of thereceiving device and the positions and orientations of the antennaelements on the receiving device, the ranging signal can be received bythe different elements at different times.

In various embodiments, after receiving an advertising packet thetechnique can include the receiving device entering a reduced powerstate until the transmission time specified by the schedule. Theschedule can provide a time or a listening window for the next rangingtransmission. The reduced power mode can include turning off power tothe receiving device transceiver. In various embodiments, the reducedpower mode can include reducing the gain and/or transmitter power forthe transmitter. In various embodiments, dynamic power limiting can beemployed to dynamically limit to reduce load and provide marginsrelative to the power supply's capability.

In various embodiments, the technique can include exiting the reducedpower state at the transmission time. In various embodiments, thetechnique can include exiting the reduced power state at a predeterminedtime prior to the transmission time or beginning of a listening window.In this way, the receiving device is prepared to receive one or moreranging signal from the transmitting device.

At 1106, the technique can include receiving, at an antenna array of themobile device during a listening window, a ranging signal via a secondwireless protocol during the listening window. The antenna array caninclude a plurality of antennas including a first antenna and a secondantenna. The first reception time can depend on the position andorientation of the receiving device. The first antenna to receive thesignal can be considered the first antenna.

At 1108, the technique can include comparing a first measurement of theranging signal at the first antenna to a second measurement of theranging signal at the second antenna. The second reception time candepend on the position and orientation of the receiving device. Thesecond antenna to receive the signal can be considered the secondantenna.

At 1110, the technique can include determining an angle of arrival ofthe ranging signal using the comparison and a physical configuration ofthe plurality of antennas. In various embodiments the determining theangle of arrival can be accomplished by measuring the time difference ofarrival (TDOA) between individual elements of the antenna array. TDOAmeasurement is made by measuring the difference in received phase ateach element in the antenna array. TDOA of the ranging signal can bemeasured using the first reception time, the second reception time, anda known physical configuration of the plurality of antennas. Thereceiving device can use the known physical configuration of theplurality of antennas and the reception times for various antennaelements to determine an angle of arrival to the transmitting device.The angle of arrival can be expressed with respect to a surface and anorientation of the receiving device. For example, the angle of arrivalcan be 90 degrees from the top of a receiving device in portraitorientation. The internal phone gyroscopes can inform the receivingdevice whether it is in a profile or landscape (or some other)orientation.

In various embodiments, a phase difference on arrival may be used tocalculate the angle of arrival. Estimating the AOA of an RF signal by anantenna array relies on detecting the signal's phase when it arrives atmultiple antenna elements. Due to the difference in propagationdistances from the signal source to individual receive antennas, eachantenna observes a different phase shift of the signal. For example, ifthe signal from a transmitter A are assumed to propagate in parallelthrough space, then the phase observed by the two receive antennas, ΦA1and ΦA2, can be represented as a function of the angle of incidence θand the distance separating the antennas d:

${\Phi_{A1} - \Phi_{A2}} = \frac{2\pi d\sin\theta}{\lambda}$where λ is the wavelength of the RF signal. Therefore, one only needs toknow the phase difference in the antenna array to determine theincidence angle. Therefore, the angle of arrival θ is a function of themeasured phase difference and antenna separation distance d. However,the above equation requires coherent phase detection by the antennaelements in order to compute the difference, meaning that the antennaelements need to be perfectly synchronized in both phase and clock rate.To ensure this, traditional antenna arrays usually are built on a singleplatform and with multiple antenna elements connecting to the same clockand oscillator.

In various embodiments, the PDoA can work by determining a difference insignal strength at a same reception time for the antennas.

In various embodiments, the technique can include comparing the angle ofarrival to a threshold. In some embodiments, the receiving device canknow the physical location of one or more transmitting devices at agiven location. The calculated angle of arrival and be compared to oneof more thresholds. The thresholds can be used to determine if thereceiving device is oriented toward a transmitting device or within apredetermined threshold of the transmitting device. For example, if atransmitting device (e.g., a beacon) is attached to a city bus, thereceiving device can determine if the receiving device is orientedtoward the transmitting device or within a predetermined threshold(e.g., +/−10 degrees).

Based on the comparison of the angle of arrival to the threshold, thetechnique can include retrieving information specified by thetransmitting device. The information can be specified by the advertisingpacket or the ranging signal. The information can include the identityof the beacon. The information can include a link or deep link tofurther information concerning the transmitting device. For example, theinformation can include a link to the bus schedule for the bus on whichthe transmitting device is attached. The information is specified by theadvertising packet or the ranging signal.

In various embodiments, the technique can include determining a secondangle of arrival from a second ranging signal from a second transmittingdevice. The technique can include determining a location of the mobiledevice by triangulating the ranging signal and the second rangingsignal. In various embodiments, more than two transmitting devices canbe available in the location.

It should be appreciated that the specific steps illustrated in FIG. 11provide particular techniques for passive beacon communicationtechniques according to various embodiments of the present disclosure.Other sequences of steps may also be performed according to alternativeembodiments. For example, alternative embodiments of the presentdisclosure may perform the steps outlined above in a different order.Moreover, the individual steps illustrated in FIG. 11 may includemultiple sub-steps that may be performed in various sequences asappropriate to the individual step. Furthermore, additional steps may beadded or removed depending on the particular applications. One ofordinary skill in the art would recognize many variations,modifications, and alternatives.

VII. Mobile Device for Performing Communications

FIG. 12 is a block diagram of components of a mobile device 1200operable to perform passive beacon communication techniques according toembodiments of the present disclosure. Mobile device 1200 includesantennas for at least two different wireless protocols, as describedabove. The first wireless protocol (e.g., Bluetooth) may be used forauthentication and exchanging ranging settings. The second wirelessprotocol (e.g., UWB) may be used for performing ranging with anothermobile device.

As shown, mobile device 1200 includes UWB antennas 1210 for performingranging. UWB antennas 1210 are connected to UWB circuitry 1215 foranalyzing detected signals from UWB antennas 1210. In some embodiments,mobile device 1200 includes three or more UWB antennas, e.g., forperforming triangulation. The different UWB antennas can have differentorientations, e.g., two in one direction and a third in anotherdirection. The orientations of the UWB antennas can define a field ofview for ranging. As an example, the field of view can span 120 degrees.Such regulation can allow a determination of which direction a user ispointing a device relative to one or more other nearby devices. Thefield of view may include any one or more of pitch, yaw, or roll angles.

UWB circuitry 1215 can communicate with an always-on processor (AOP)1230, which can perform further processing using information from UWBmessages. For example, AOP 1230 can perform the ranging calculationsusing timing data provided by UWB circuitry 1215. AOP 1230 and othercircuits of the device can include dedicated circuitry and/orconfigurable circuitry, e.g., via firmware or other software.

As shown, mobile device 1200 also includes Bluetooth (BT)/Wi-Fi antenna1220 for communicating data with other devices. Bluetooth (BT)/Wi-Fiantenna 1220 is connected to BT/Wi-Fi circuitry 1225 for analyzingdetected signals from BT/Wi-Fi antenna 1220. For example, BT/Wi-Ficircuitry 1225 can parse messages to obtain data (e.g., anauthentication tag), which can be sent on to AOP 1230. In someembodiments, AOP 1230 can perform authentication using an authenticationtag. Thus, AOP 1230 can store or retrieve a list of authentication tagsfor which to compare a received tag against, as part of anauthentication process. In some implementations, such functionalitycould be achieved by BT/Wi-Fi circuitry 1225.

In other embodiments, UWB circuitry 1215 and BT/Wi-Fi circuitry 1225 canalternatively or in addition be connected to application processor 1240,which can perform similar functionality as AOP 1230. Applicationprocessor 1240 typically requires more power than AOP 1230, and thuspower can be saved by AOP 1230 handling certain functionality, so thatapplication processor 1240 can remain in a sleep state, e.g., an offstate. As an example, application processor 1240 can be used forcommunicating audio or video using BT/Wi-Fi, while AOP 1230 cancoordinate transmission of such content and communication between UWBcircuitry 1215 and BT/Wi-Fi circuitry 1225. For instance, AOP 1230 cancoordinate timing of UWB messages relative to BT advertisements.

Coordination by AOP 1230 can have various benefits. For example, a firstuser of a sending device may want share content with another user, andthus ranging may be desired with a receiving device of this other user.However, if many people are in the same room, the sending device mayneed to distinguish a particular device among the multiple devices inthe room, and potentially determine which device the sending device ispointing to. Such functionality can be provided by AOP 1230. Inaddition, it is not desirable to wake up the application processor ofevery other device in the room, and thus the AOPs of the other devicescan perform some processing of the messages and determine that thedestination address is for a different device.

To perform ranging, BT/Wi-Fi circuitry 1225 can analyze an advertisementsignal from another device to determine that the other device wants toperform ranging, e.g., as part of a process for sharing content.BT/Wi-Fi circuitry 1225 can communicate this notification to AOP 1230,which can schedule UWB circuitry 1215 to be ready to detect UWB messagesfrom the other device.

For the device initiating ranging, its AOP can perform the rangingcalculations. Further, the AOP can monitor changes in distance betweenthe other devices. For example, AOP 1230 can compare the distance to athreshold value and provide an alert when the distance exceeds athreshold, or potentially provide a reminder when the two devices becomesufficiently close. An example of the former might be when a parentwants to be alerted when a child (and presumably the child's device) istoo far away. An example of the latter might be when a person wants tobe reminded to bring up something when talking to a user of the otherdevice. Such monitoring by the AOP can reduce power consumption by theapplication processor.

VIII. Example Device

FIG. 13 is a block diagram of an example electronic device 1300. Device1300 generally includes computer-readable medium 1302, control circuitry1304, an Input/Output (I/O) subsystem 1306, wireless circuitry 1308, andaudio circuitry 1310 including speaker 1350 and microphone 1352. Thesecomponents may be coupled by one or more communication buses or signallines 1303. Device 1300 can be any portable electronic device, includinga handheld computer, a tablet computer, a mobile phone, laptop computer,tablet device, media player, personal digital assistant (PDA), a keyfob, a car key, an access card, a multifunction device, a mobile phone,a portable gaming device, a headset, or the like, including acombination of two or more of these items.

It should be apparent that the architecture shown in FIG. 13 is only oneexample of an architecture for device 1300, and that device 1300 canhave more or fewer components than shown, or a different configurationof components. The various components shown in FIG. 13 can beimplemented in hardware, software, or a combination of both hardware andsoftware, including one or more signal processing and/or applicationspecific integrated circuits.

Wireless circuitry 1308 is used to send and receive information over awireless link or network to one or more other devices' conventionalcircuitry such as an antenna system, a radio frequency (RF) transceiver,one or more amplifiers, a tuner, one or more oscillators, a digitalsignal processor, a CODEC chipset, memory, etc. Wireless circuitry 1308can use various protocols, e.g., as described herein. In variousembodiments, wireless circuitry 1308 is capable of establishing andmaintaining communications with other devices using one or morecommunication protocols, including time division multiple access (TDMA),code division multiple access (CDMA), global system for mobilecommunications (GSM), Enhanced Data GSM Environment (EDGE), widebandcode division multiple access (W-CDMA), Long Term Evolution (LTE),Long-term Evolution (LTE)-Advanced, Wi-Fi (such as Institute ofElectrical and Electronics Engineers (IEEE) 802.11a, IEEE 802.11b, IEEE802.11g and/or IEEE 802.11n), Bluetooth, Wi-MAX, voice over InternetProtocol (VoIP), near field communication protocol (NFC), a protocol foremail, instant messaging, and/or a short message service (SMS), or anyother suitable communication protocol, including communication protocolsnot yet developed as of the filing date of this document.

Wireless circuitry 1308 is coupled to control circuitry 1304 viaperipherals interface 1316. Peripherals interface 1316 can includeconventional components for establishing and maintaining communicationbetween peripherals and. Voice and data information received by wirelesscircuitry 1308 (e.g., in speech recognition or voice commandapplications) is sent to one or more processors 1318 via peripheralsinterface 1316. One or more processors 1318 are configurable to processvarious data formats for one or more application programs 1334 stored onmedium 1302.

Peripherals interface 1316 couple the input and output peripherals ofdevice 1300 to the one or more processors 1318 and computer-readablemedium 1302. One or more processors 1318 communicate withcomputer-readable medium 1302 via a controller 1320. Computer-readablemedium 1302 can be any device or medium that can store code and/or datafor use by one or more processors 1318. Computer-readable medium 1302can include a memory hierarchy, including cache, main memory, andsecondary memory. The memory hierarchy can be implemented using anycombination of RAM (e.g., Standard Random Access Memory (SRAM), DynamicRandom Access Memory (DRAM), Double Data Random Access Memory (DDRAM),Read only Memory (ROM), FLASH, magnetic and/or optical storage devices,such as disk drives, magnetic tape, CDs (compact disks) and DVDs(digital video discs). In some embodiments, peripherals interface 1316,one or more processors 1318, and controller 1320 can be implemented on asingle chip, such as control circuitry 1304. In some other embodiments,they can be implemented on separate chips.

Processor(s) 1318 can include hardware and/or software elements thatperform one or more processing functions, such as mathematicaloperations, logical operations, data manipulation operations, datatransfer operations, controlling the reception of user input,controlling output of information to users, or the like. Processor(s)1318 can be embodied as one or more hardware processors,microprocessors, microcontrollers; field programmable gate arrays(FPGAs), application-specified integrated circuits (ASICs), or the like.

Device 1300 may include storage and processing circuitry such as controlcircuitry 1304. Control circuitry 1304 may include storage such as harddisk drive storage, nonvolatile memory (e.g., flash memory or otherelectrically-programmable-read-only memory configured to form asolid-state drive), volatile memory (e.g., static, or dynamicrandom-access-memory), etc. Processing circuitry in control circuitry1304 may be used to control the operation of device 1300. Thisprocessing circuitry may be based on one or more microprocessors,microcontrollers, digital signal processors, baseband processorintegrated circuits, application specific integrated circuits, etc.

Control circuitry 1304 may be used to run software on device 1300, suchas internet browsing applications, voice-over-internet-protocol (VOIP)telephone call applications, email applications, media playbackapplications, operating system functions, etc. To support interactionswith external equipment, control circuitry 1304 may be used inimplementing communications protocols. Communications protocols that maybe implemented using control circuitry 1304 include internet protocols,wireless local area network protocols (e.g., IEEE 802.11protocols—sometimes referred to as Wi-Fi®), protocols for othershort-range wireless communications links such as the Bluetooth®protocol, cellular telephone protocols, multiple-input andmultiple-output (MIMO) protocols, antenna diversity protocols, satellitenavigation system protocols, millimeter wave communications protocols,IEEE 802.15.4 ultra-wideband communications protocols, etc.

Device 1300 may include input-output circuitry 1306. Input-outputcircuitry 1306 may include input-output devices. Input-output devicesmay be used to allow data to be supplied to device 1300 and to allowdata to be provided from device 1300 to external devices. Input-outputdevices may include user interface devices, data port devices, and otherinput-output components. For example, input-output devices may includeone or more displays (e.g., touch screens or displays without touchsensor capabilities), one or more image sensors 1344 (e.g., digitalimage sensors), motion sensors, and speakers 1350. Input-output devicemay also include buttons, joysticks, scrolling wheels, touch pads, keypads, keyboards, microphones 1352, haptic elements such as vibrators andactuators, status indicators, light sources, audio jacks and other audioport components, digital data port devices, light sensors, capacitancesensors, proximity sensors (e.g., a capacitive proximity sensor and/oran infrared proximity sensor), magnetic sensors, and other sensors andinput-output components.

Device 1300 also includes a power system 1342 for powering the varioushardware components. Power system 1342 can include a power managementsystem, one or more power sources (e.g., battery, alternating current(AC)), a recharging system, a power failure detection circuit, a powerconverter or inverter, a power status indicator (e.g., a light emittingdiode (LED)), and any other components typically associated with thegeneration, management, and distribution of power in mobile devices.

In some embodiments, device 1300 includes an image sensor 1344 (e.g., acamera). In some embodiments, device 1300 includes sensors 1346. Sensorscan include accelerometers, compass, gyrometer, pressure sensors, audiosensors, light sensors, barometers, and the like. Sensors 1346 can beused to sense location aspects, such as auditory or light signatures ofa location.

In some embodiments, device 1300 can include a GPS receiver, sometimesreferred to as a GPS unit 1348. A mobile device can use a satellitenavigation system, such as the Global Positioning System (GPS), toobtain position information, timing information, altitude, or othernavigation information. During operation, the GPS unit can receivesignals from GPS satellites orbiting the Earth. The GPS unit analyzesthe signals to make a transit time and distance estimation. The GPS unitcan determine the current position (current location) of the mobiledevice. Based on these estimations, the mobile device can determine alocation fix, altitude, and/or current speed. A location fix can begeographical coordinates such as latitudinal and longitudinalinformation.

One or more processors 1318 run various software components stored inmedium 1302 to perform various functions for device 1300. In someembodiments, the software components include an operating system 1322, acommunication module 1324 (or set of instructions), a location module1326 (or set of instructions), a ranging module 1328 that is used aspart of ranging operation described herein, and other applicationprograms 1334 (or set of instructions).

Operating system 1322 can be any suitable operating system, includingiOS, Mac OS, Darwin, Quatros Real-Time Operating System (RTXC), LINUX,UNIX, OS X, WINDOWS, or an embedded operating system such as VxWorks.The operating system can include various procedures, sets ofinstructions, software components, and/or drivers for controlling andmanaging general system tasks (e.g., memory management, storage devicecontrol, power management, etc.) and facilitates communication betweenvarious hardware and software components.

Communication module 1324 facilitates communication with other devicesover one or more external ports 1336 or via wireless circuitry 1308 andincludes various software components for handling data received fromwireless circuitry 1308 and/or external port 1336. External port 1336(e.g., universal serial bus (USB), FireWire, Lightning connector, 60-pinconnector, etc.) is adapted for coupling directly to other devices orindirectly over a network (e.g., the Internet, wireless LAN, etc.).

Location/motion module 1326 can assist in determining the currentposition (e.g., coordinates or other geographic location identifiers)and motion of device 1300. Modern positioning systems includesatellite-based positioning systems, such as Global Positioning System(GPS), cellular network positioning based on “cell IDs,” and Wi-Fipositioning technology based on a Wi-Fi network. GPS also relies on thevisibility of multiple satellites to determine a position estimate,which may not be visible (or have weak signals) indoors or in “urbancanyons.” In some embodiments, location/motion module 1326 receives datafrom GPS unit 1348 and analyzes the signals to determine the currentposition of the mobile device. In some embodiments, location/motionmodule 1326 can determine a current location using Wi-Fi or cellularlocation technology. For example, the location of the mobile device canbe estimated using knowledge of nearby cell sites and/or Wi-Fi accesspoints with knowledge also of their locations. Information identifyingthe Wi-Fi or cellular transmitter is received at wireless circuitry 1308and is passed to location/motion module 1326. In some embodiments, thelocation module receives the one or more transmitter IDs. In someembodiments, a sequence of transmitter IDs can be compared with areference database (e.g., Cell ID database, Wi-Fi reference database)that maps or correlates the transmitter IDs to position coordinates ofcorresponding transmitters, and computes estimated position coordinatesfor device 1300 based on the position coordinates of the correspondingtransmitters. Regardless of the specific location technology used,location/motion module 1326 receives information from which a locationfix can be derived, interprets that information, and returns locationinformation, such as geographic coordinates, latitude/longitude, orother location fix data

Ranging module 1328 can send/receive ranging messages to/from anantenna, e.g., connected to wireless circuitry 1308. The messages can beused for various purposes, e.g., to identify a sending antenna of adevice, determine timestamps of messages to determine a distance ofmobile device 1300 from another device. Ranging module 1328 can exist onvarious processors of the device, e.g., an always-on processor (AOP), aUWB chip, and/or an application processor. For example, parts of rangingmodule 1328 can determine a distance on an AOP, and another part of theranging module can interact with a sharing module, e.g., to display aposition of the other device on a screen in order for a user to selectthe other device to share a data item. Ranging module 1328 can alsointeract with a reminder module that can provide an alert based on adistance from another mobile device.

Dielectric-filled openings such as plastic-filled openings may be formedin metal portions of housing such as in metal sidewall structures (e.g.,to serve as antenna windows and/or to serve as gaps that separateportions of antennas from each other).

Antennas may be mounted in housing. If desired, some of the antennas(e.g., antenna arrays that may implement beam steering, etc.) may bemounted under dielectric portions of device 1300 (e.g., portions of thedisplay cover layer, portions of a plastic antenna window in a metalhousing sidewall portion of housing, etc.). With one illustrativeconfiguration, some or all of rear face of device 1300 may be formedfrom a dielectric. For example, the rear wall of housing may be formedfrom glass plastic, ceramic, another dielectric. In this type ofarrangement, antennas may be mounted within the interior of device 1300in a location that allows the antennas to transmit and receive antennasignals through the rear wall of device 1300 (and, if desired, throughoptional dielectric sidewall portions in housing). Antennas may also beformed from metal sidewall structures in housing and may be located inperipheral portions of device 1300.

To avoid disrupting communications when an external object such as ahuman hand or other body part of a user blocks one or more antennas,antennas may be mounted at multiple locations in housing. Sensor datasuch as proximity sensor data, real-time antenna impedance measurements,signal quality measurements such as received signal strengthinformation, and other data may be used in determining when one or moreantennas is being adversely affected due to the orientation of housing,blockage by a user's hand or other external object, or otherenvironmental factors. Device 1300 can then switch one or morereplacement antennas into use in place of the antennas that are beingadversely affected.

Antennas may be mounted at the corners of housing, along the peripheraledges of housing, on the rear of housing, under the display cover layerthat is used in covering and protecting display on the front of device1300 (e.g., a glass cover layer, a sapphire cover layer, a plastic coverlayer, other dielectric cover layer structures, etc.), under adielectric window on a rear face of housing or the edge of housing,under a dielectric rear wall of housing, or elsewhere in device 1300. Asan example, antennas may be mounted at one or both ends of device 1300(e.g., along the upper and lower edges of housing, at the corners ofhousing, etc.).

Antennas in device 1300 may include cellular telephone antennas,wireless local area network antennas (e.g., Wi-Fi® antennas at 2.4 GHzand 5 GHz and other suitable wireless local area network antennas),satellite navigation system signals, and near-field communicationsantennas. The antennas may also include antennas that support IEEE802.15.4 ultra-wideband communications protocols and/or antennas forhandling millimeter wave communications. For example, the antennas mayinclude two or more ultra-wideband frequency antennas and/or millimeterwave phased antenna arrays. Millimeter wave communications, which aresometimes referred to as extremely high frequency (EHF) communications,involve signals at 60 GHz or other frequencies between about 10 GHz and400 GHz.

Wireless circuitry in device 1300 may support communications using theIEEE 802.15.4 ultra-wideband protocol. In an IEEE 802.15.4 system, apair of devices may exchange wireless time stamped messages. Time stampsin the messages may be analyzed to determine the time of flight of themessages and thereby determine the distance (range) between the devices.

Image sensors 1344 may include one or more visible digital image sensors(visible-light cameras) and/or one or more infrared digital imagesensors (infrared-light cameras). Image sensors 1344 may, if desired, beused to measure distances. For example, an infrared time-of-flight imagesensor may be used to measure the time that it takes for an infraredlight pulse to reflect back from objects in the vicinity of device 1300,which may in turn be used to determine the distance to those objects.Visible imaging systems such as a front and/or rear-facing camera indevice 1300 may also be used to determine the position of objects in theenvironment. For example, control circuitry 1304 may use image sensors1344 to perform simultaneous localization and mapping (SLAM). SLAMrefers to the process of using images to determine the position ofobjections in the environment while also constructing a representationof the imaged environment. Visual SLAM techniques include detecting andtracking certain features in images such as edges, textures, roomcorners, window corners, door corners, faces, sidewalk edges, streetedges, building edges, tree trunks, and other prominent features.Control circuitry 1304 may rely entirely upon image sensors 1344 toperform simultaneous localization and mapping, or control circuitry 1304may synthesize image data with range data from one or more distancesensors (e.g., light-based proximity sensors). If desired, controlcircuitry 1304 may use display to display a visual representation of themapped environment.

Input-output devices may include motion sensor circuitry 1346. Motionsensor circuitry 1346 may include one or more accelerometers (e.g.,accelerometers that measure acceleration along one, two, or three axes),gyroscopes, barometers, magnetic sensors (e.g., compasses), imagesensors (e.g., image sensor 1344) and other sensor structures. Sensors1346 may, for example, include one or more microelectromechanicalsystems (MEMS) sensors (e.g., accelerometers, gyroscopes, microphones,force sensors, pressure sensors, capacitive sensors, or any othersuitable type of sensor formed using microelectromechanical systemstechnology).

Control circuitry 1304 may be used to store and process motion sensordata. If desired, motion sensors, processing circuitry, and storage thatform motion sensor circuitry may form part of a system-on-chipintegrated circuit (as an example).

Input-output devices may include movement generation circuitry. Movementgeneration circuitry may receive control signals from control circuitry1304. Movement generation circuitry may include electromechanicalactuator circuitry that, when driven, moves device 1300 in one or moredirections. For example, movement generation circuitry may laterallymove device 1300 and/or may rotate device 1300 around one or more axesof rotation. Movement generation circuitry may, for example, include oneor more actuators formed at one or more locations of device 1300. Whendriven by a motion control signal, actuators may move (e.g., vibrate,pulse, tilt, push, pull, rotate, etc.) to cause device 1300 to move orrotate in one or more directions. The movement may be slight (e.g., notnoticeable, or barely noticeable to a user of device 1300), or themovement may be substantial. Actuators may be based on one or morevibrators, motors, solenoids, piezoelectric actuators, speaker coils, orany other desired device capable of mechanically (physically) movingdevice 1300.

Some or all of movement generation circuitry such as actuators may beused to perform operations that are unrelated to rotation of device1300. For example, actuators may include vibrators that are actuated toissue a haptic alert or notification to a user of device 1300. Suchalerts may include, for example, a received text message alertidentifying that device 1300 has received a text message, a receivedtelephone call alert, a received email alert, an alarm notificationalert, a calendar notification alert, or any other desired notification.By actuating actuator, device 1300 may inform the user of any desireddevice condition.

Motion sensor circuitry may sense motion of device 1300 that isgenerated by movement generation circuitry. If desired, motion sensorcircuitry may provide feedback signals associated with the sensed motionof device 1300 to movement generation circuitry. Movement generationcircuitry may use the feedback signals to control actuation of themovement generation circuitry.

Control circuitry 1304 may use motion sensor circuitry and/or movementgeneration circuitry to determine the angle of arrival of wirelesssignals received by device 1300 from another electronic device. Forexample, control circuitry 1304 may use movement generation circuitry tomove device 1300 from one position to another. Motion sensor circuitrymay be used to track the movement of device 1300 as it is moved betweenthe different positions. At each position, control circuitry 1304 mayreceive wireless signals from another electronic device. Controlcircuitry 1304 may process the received wireless signals together withthe motion data from motion sensor circuitry to more accuratelydetermine the position of the other electronic device. The use of motiongeneration circuitry is merely illustrative, however. If desired, motionsensor circuitry may track movement of device 1300 that is not caused bymotion generation circuitry. This may include a user's natural,unprompted movement of device 1300 and/or the user's movement of device1300 after the user is prompted (by display, audio circuitry 1310, ahaptic output device in device 1300, or any other suitable outputdevice) to move device 1300 in a particular fashion.

Other sensors that may be included in input-output devices includeambient light sensors for gathering information on ambient light levels,proximity sensor components (e.g., light-based proximity sensors,capacitive proximity sensors, and/or proximity sensors based on otherstructures), depth sensors (e.g., structured light depth sensors thatemit beams of light in a grid, a random dot array, or other pattern, andthat have image sensors that generate depth maps based on the resultingspots of light produced on target objects), sensors that gatherthree-dimensional depth information using a pair of stereoscopic imagesensors, LIDAR (light detection and ranging) sensors, radar sensors, andother suitable sensors.

Input-output circuitry may include wireless communications circuitry forcommunicating wirelessly with external equipment. Wirelesscommunications circuitry may include radio frequency (RF) transceivercircuitry formed from one or more integrated circuits, power amplifiercircuitry, low-noise input amplifiers, passive RF components, one ormore antennas, transmission lines, and other circuitry for handling RFwireless signals. Wireless signals can also be sent using light (e.g.,using infrared communications).

Wireless communications circuitry 1308 may include radio-frequencytransceiver circuitry for handling various radio-frequencycommunications bands. For example, circuitry 1308 may includetransceiver circuitry.

Transceiver circuitry may be wireless local area network transceivercircuitry. Transceiver circuitry may handle 2.4 GHz and 5 GHz bands forWi-Fi® (IEEE 802.11) communications and may handle the 2.4 GHzBluetooth® communications band.

Circuitry may use cellular telephone transceiver circuitry for handlingwireless communications in frequency ranges such as a communicationsband from 700 to 960 MHz, a band from 1710 to 2170 MHz, a band from 2300to 2700 MHz, other bands between 700 and 2700 MHz, higher bands such asLTE bands 42 and 43 (3.4-3.6 GHz), or other cellular telephonecommunications bands. Circuitry may handle voice data and non-voicedata.

Millimeter wave transceiver circuitry (sometimes referred to asextremely high frequency transceiver circuitry) may supportcommunications at extremely high frequencies (e.g., millimeter wavefrequencies such as extremely high frequencies of 10 GHz to 400 GHz orother millimeter wave frequencies). For example, circuitry may supportIEEE 802.11ad communications at 60 GHz. Circuitry may be formed from oneor more integrated circuits (e.g., multiple integrated circuits mountedon a common printed circuit in a system-in-package device, one or moreintegrated circuits mounted on different substrates, etc.).

Ultra-wideband transceiver circuitry may support communications usingthe IEEE 802.15.4 protocol and/or other wireless communicationsprotocols. Ultra-wideband wireless signals may be characterized bybandwidths greater than 500 MHz or bandwidths exceeding 20% of thecenter frequency of radiation. The presence of lower frequencies in thebaseband may allow ultra-wideband signals to penetrate through objectssuch as walls. Transceiver circuitry may operate in a 2.4 GHz frequencyband, a 6.5 GHz frequency band, an 8 GHz frequency band, and/or at othersuitable frequencies.

Wireless communications circuitry may include satellite navigationsystem circuitry such as Global Positioning System (GPS) receivercircuitry for receiving GPS signals at 1575 MHz or for handling othersatellite positioning data (e.g., GLONASS signals at 1609 MHz).Satellite navigation system signals for receiver are received from aconstellation of satellites orbiting the earth.

In satellite navigation system links, cellular telephone links, andother long-range links, wireless signals are typically used to conveydata over thousands of feet or miles. In Wi-Fi® and Bluetooth® links at2.4 and 5 GHz and other short-range wireless links, wireless signals aretypically used to convey data over tens or hundreds of feet. Extremelyhigh frequency (EHF) wireless transceiver circuitry may convey signalsover these short distances that travel between transmitter and receiverover a line-of-sight path. To enhance signal reception for millimeterwave communications, phased antenna arrays and beam steering techniquesmay be used (e.g., schemes in which antenna signal phase and/ormagnitude for each antenna in an array is adjusted to perform beamsteering). Antenna diversity schemes may also be used to ensure that theantennas that have become blocked or that are otherwise degraded due tothe operating environment of device 1300 can be switched out of use andhigher-performing antennas used in their place.

Wireless communications circuitry can include circuitry for othershort-range and long-range wireless links if desired. For example,wireless communications circuitry 36 may include circuitry for receivingtelevision and radio signals, paging system transceivers, near fieldcommunications (NFC) circuitry, etc.

The one or more applications 1334 on device 1300 can include anyapplications installed on the device 1300, including without limitation,a browser, address book, contact list, email, instant messaging, socialnetworking, word processing, keyboard emulation, widgets, JAVA-enabledapplications, encryption, digital rights management, voice recognition,voice replication, a music player (which plays back recorded musicstored in one or more files, such as MP3 or advanced audio codec (AAC)files), etc.

There may be other modules or sets of instructions (not shown), such asa graphics module, a time module, etc. For example, the graphics modulecan include various conventional software components for rendering,animating, and displaying graphical objects (including withoutlimitation text, web pages, icons, digital images, animations, and thelike) on a display surface. In another example, a timer module can be asoftware timer. The timer module can also be implemented in hardware.The time module can maintain various timers for any number of events.

I/O subsystem 1306 can be coupled to a display system (not shown), whichcan be a touch-sensitive display. The display displays visual output tothe user in a GUI. The visual output can include text, graphics, video,and any combination thereof. Some or all of the visual output cancorrespond to user-interface objects. A display can use LED (lightemitting diode), LCD (liquid crystal display) technology, or LPD (lightemitting polymer display) technology, although other displaytechnologies can be used in other embodiments.

In some embodiments, I/O subsystem 1306 can include a display and userinput devices such as a keyboard, mouse, and/or trackpad. In someembodiments, I/O subsystem 1306 can include a touch-sensitive display. Atouch-sensitive display can also accept input from the user based atleast part on haptic and/or tactile contact. In some embodiments, atouch-sensitive display forms a touch-sensitive surface that acceptsuser input. The touch-sensitive display/surface (along with anyassociated modules and/or sets of instructions in computer-readablemedium 1302) detects contact (and any movement or release of thecontact) on the touch-sensitive display and converts the detectedcontact into interaction with user-interface objects, such as one ormore soft keys, that are displayed on the touch screen when the contactoccurs. In some embodiments, a point of contact between thetouch-sensitive display and the user corresponds to one or more digitsof the user. The user can make contact with the touch-sensitive displayusing any suitable object or appendage, such as a stylus, pen, finger,and so forth. A touch-sensitive display surface can detect contact andany movement or release thereof using any suitable touch sensitivitytechnologies, including capacitive, resistive, infrared, and surfaceacoustic wave technologies, as well as other proximity sensor arrays orother elements for determining one or more points of contact with thetouch-sensitive display.

Further, I/O subsystem 1306 can be coupled to one or more other physicalcontrol devices (not shown), such as pushbuttons, keys, switches, rockerbuttons, dials, slider switches, sticks, LEDs, etc., for controlling orperforming various functions, such as power control, speaker volumecontrol, ring tone loudness, keyboard input, scrolling, hold, menu,screen lock, clearing and ending communications and the like. In someembodiments, in addition to the touch screen, device 1300 can include atouchpad (not shown) for activating or deactivating particularfunctions. In some embodiments, the touchpad is a touch-sensitive areaof the device 1300 that, unlike the touch screen, does not displayvisual output. The touchpad can be a touch-sensitive surface that isseparate from the touch-sensitive display, or an extension of thetouch-sensitive surface formed by the touch-sensitive display.

In some embodiments, some or all of the operations described herein canbe performed using an application executing on the user's device.Circuits, logic modules, processors, and/or other components may beconfigured to perform various operations described herein. Those skilledin the art will appreciate that, depending on implementation, suchconfiguration can be accomplished through design, setup,interconnection, and/or programming of the particular components andthat, again depending on implementation, a configured component might ormight not be reconfigurable for a different operation. For example, aprogrammable processor can be configured by providing suitableexecutable code; a dedicated logic circuit can be configured by suitablyconnecting logic gates and other circuit elements; and so on.

Any of the software components or functions described in thisapplication may be implemented as software code to be executed by aprocessor using any suitable computer language such as, for example,Java, C, C++, C#, Objective-C, Swift, or scripting language such as Perlor Python using, for example, conventional or object-orientedtechniques. The software code may be stored as a series of instructionsor commands on a computer readable medium for storage and/ortransmission. A suitable non-transitory computer readable medium caninclude random access memory (RAM), a read only memory (ROM), a magneticmedium such as a hard-drive or a floppy disk, or an optical medium, suchas a compact disk (CD) or DVD (digital versatile disk), flash memory,and the like. The computer readable medium may be any combination ofsuch storage or transmission devices.

Computer programs incorporating various features of the presentdisclosure may be encoded on various computer readable storage media;suitable media include magnetic disk or tape, optical storage media,such as compact disk (CD) or DVD (digital versatile disk), flash memory,and the like. Computer readable storage media encoded with the programcode may be packaged with a compatible device or provided separatelyfrom other devices. In addition, program code may be encoded andtransmitted via wired optical, and/or wireless networks conforming to avariety of protocols, including the Internet, thereby allowingdistribution, e.g., via Internet download. Any such computer readablemedium may reside on or within a single computer product (e.g., asolid-state drive, a hard drive, a CD, or an entire computer system),and may be present on or within different computer products within asystem or network. A computer system may include a monitor, printer, orother suitable display for providing any of the results mentioned hereinto a user.

As described above, one aspect of the present technology is thegathering, sharing, and use of data, including an authentication tag anddata from which the tag is derived. The present disclosure contemplatesthat in some instances, this gathered data may include personalinformation data that uniquely identifies or can be used to contact orlocate a specific person. Such personal information data can includedemographic data, location-based data, telephone numbers, emailaddresses, twitter ID's, home addresses, data or records relating to auser's health or level of fitness (e.g., vital signs measurements,medication information, exercise information), date of birth, or anyother identifying or personal information.

The present disclosure recognizes that the use of such personalinformation data, in the present technology, can be used to the benefitof users. For example, the personal information data can be used toauthenticate another device, and vice versa to control which devicesranging operations may be performed. Further, other uses for personalinformation data that benefit the user are also contemplated by thepresent disclosure. For instance, health and fitness data may be sharedto provide insights into a user's general wellness or may be used aspositive feedback to individuals using technology to pursue wellnessgoals.

The present disclosure contemplates that the entities responsible forthe collection, analysis, disclosure, transfer, storage, or other use ofsuch personal information data will comply with well-established privacypolicies and/or privacy practices. In particular, such entities shouldimplement and consistently use privacy policies and practices that aregenerally recognized as meeting or exceeding industry or governmentalrequirements for maintaining personal information data private andsecure. Such policies should be easily accessible by users and should beupdated as the collection and/or use of data changes. Personalinformation from users should be collected for legitimate and reasonableuses of the entity and not shared or sold outside of those legitimateuses. Further, such collection/sharing should occur after receiving theinformed consent of the users. Additionally, such entities shouldconsider taking any needed steps for safeguarding and securing access tosuch personal information data and ensuring that others with access tothe personal information data adhere to their privacy policies andprocedures. Further, such entities can subject themselves to evaluationby third parties to certify their adherence to widely accepted privacypolicies and practices. In addition, policies and practices should beadapted for the particular types of personal information data beingcollected and/or accessed and adapted to applicable laws and standards,including jurisdiction-specific considerations. For instance, in the US,collection of or access to certain health data may be governed byfederal and/or state laws, such as the Health Insurance Portability andAccountability Act (HIPAA); whereas health data in other countries maybe subject to other regulations and policies and should be handledaccordingly. Hence, different privacy practices should be maintained fordifferent personal data types in each country.

Despite the foregoing, the present disclosure also contemplatesembodiments in which users selectively block the use of, or access to,personal information data. That is, the present disclosure contemplatesthat hardware and/or software elements can be provided to prevent orblock access to such personal information data. For example, in the caseof sharing content and performing ranging, the present technology can beconfigured to allow users to select to “opt in” or “opt out” ofparticipation in the collection of personal information data duringregistration for services or anytime thereafter. In addition toproviding “opt in” and “opt out” options, the present disclosurecontemplates providing notifications relating to the access or use ofpersonal information. For instance, a user may be notified upondownloading an app that their personal information data will be accessedand then reminded again just before personal information data isaccessed by the app.

Moreover, it is the intent of the present disclosure that personalinformation data should be managed and handled in a way to minimizerisks of unintentional or unauthorized access or use. Risk can beminimized by limiting the collection of data and deleting data once itis no longer needed. In addition, and when applicable, including incertain health related applications, data de-identification can be usedto protect a user's privacy. De-identification may be facilitated, whenappropriate, by removing specific identifiers (e.g., date of birth,etc.), controlling the amount or specificity of data stored (e.g.,collecting location data a city level rather than at an address level),controlling how data is stored (e.g., aggregating data across users),and/or other methods.

Therefore, although the present disclosure broadly covers use ofpersonal information data to implement one or more various disclosedembodiments, the present disclosure also contemplates that the variousembodiments can also be implemented without the need for accessing suchpersonal information data. That is, the various embodiments of thepresent technology are not rendered inoperable due to the lack of all ora portion of such personal information data.

Although the present disclosure has been described with respect tospecific embodiments, it will be appreciated that the disclosure isintended to cover all modifications and equivalents within the scope ofthe following claims.

All patents, patent applications, publications, and descriptionsmentioned herein are incorporated by reference in their entirety for allpurposes. None is admitted to be prior art.

The specification and drawings are, accordingly, to be regarded in anillustrative rather than a restrictive sense. It will, however, beevident that various modifications and changes may be made thereuntowithout departing from the broader spirit and scope of the disclosure asset forth in the claims.

Other variations are within the spirit of the present disclosure. Thus,while the disclosed techniques are susceptible to various modificationsand alternative constructions, certain illustrated embodiments thereofare shown in the drawings and have been described above in detail. Itshould be understood, however, that there is no intention to limit thedisclosure to the specific form or forms disclosed, but on the contrary,the intention is to cover all modifications, alternative constructionsand equivalents falling within the spirit and scope of the disclosure,as defined in the appended claims.

The use of the terms “a” and “an” and “the” and similar referents in thecontext of describing the disclosed embodiments (especially in thecontext of the following claims) are to be construed to cover both thesingular and the plural, unless otherwise indicated herein or clearlycontradicted by context. The terms “comprising,” “having,” “including,”and “containing” are to be construed as open-ended terms (i.e., meaning“including, but not limited to,”) unless otherwise noted. The term“connected” is to be construed as partly or wholly contained within,attached to, or joined together, even if there is something intervening.The phrase “based on” should be understood to be open-ended, and notlimiting in any way, and is intended to be interpreted or otherwise readas “based at least in part on,” where appropriate. Recitation of rangesof values herein are merely intended to serve as a shorthand method ofreferring individually to each separate value falling within the range,unless otherwise indicated herein, and each separate value isincorporated into the specification as if it were individually recitedherein. All methods described herein can be performed in any suitableorder unless otherwise indicated herein or otherwise clearlycontradicted by context. The use of all examples, or exemplary language(e.g., “such as”) provided herein, is intended merely to betterilluminate embodiments of the disclosure and does not pose a limitationon the scope of the disclosure unless otherwise claimed. No language inthe specification should be construed as indicating any non-claimedelement as essential to the practice of the disclosure. The use of “or”is intended to mean an “inclusive or,” and not an “exclusive or” unlessspecifically indicated to the contrary. Reference to a “first” componentdoes not necessarily require that a second component be provided.Moreover, reference to a “first” or a “second” component does not limitthe referenced component to a particular location unless expresslystated. The term “based on” is intended to mean “based at least in parton.”

Disjunctive language such as the phrase “at least one of X, Y, or Z,”unless specifically stated otherwise, is otherwise understood within thecontext as used in general to present that an item, term, etc., may beeither X, Y, or Z, or any combination thereof (e.g., X, Y, and/or Z).Thus, such disjunctive language is not generally intended to, and shouldnot, imply that certain embodiments require at least one of X, at leastone of Y, or at least one of Z to each be present. Additionally,conjunctive language such as the phrase “at least one of X, Y, and Z,”unless specifically stated otherwise, should also be understood to meanX, Y, Z, or any combination thereof, including “X, Y, and/or Z.”

Preferred embodiments of this disclosure are described herein, includingthe best mode known to the inventors for carrying out the disclosure.Variations of those preferred embodiments may become apparent to thoseof ordinary skill in the art upon reading the foregoing description. Theinventors expect skilled artisans to employ such variations asappropriate, and the inventors intend for the disclosure to be practicedotherwise than as specifically described herein. Accordingly, thisdisclosure includes all modifications and equivalents of the subjectmatter recited in the claims appended hereto as permitted by applicablelaw. Moreover, any combination of the above-described elements in allpossible variations thereof is encompassed by the disclosure unlessotherwise indicated herein or otherwise clearly contradicted by context.

All references, including publications, patent applications, andpatents, cited herein are hereby incorporated by reference to the sameextent as if each reference were individually and specifically indicatedto be incorporated by reference and were set forth in its entiretyherein.

What is claimed is:
 1. A method of communicating with a transmittingdevice by a mobile device, the method comprising: receiving, at anantenna array of the mobile device, a ranging signal via a firstwireless protocol during a listening window, wherein the antenna arraycomprises a plurality of antennas including a first antenna and a secondantenna; comparing a first measurement of the ranging signal at thefirst antenna to a second measurement of the ranging signal at thesecond antenna; determining an angle of arrival of the ranging signalusing the comparison and a physical configuration of the plurality ofantennas; comparing the angle of arrival to a threshold; and based onthe comparison, retrieving information specified by a link from thetransmitting device.
 2. The method of claim 1, further comprising:receiving transmitting device identification information in anadvertising packet; and based on the transmitting device identificationinformation, determining if the transmitting device has informationrelevant to an application executing on the mobile device, theapplication including functionality that is dependent on a position ofmobile device relative to the transmitting device.
 3. The method ofclaim 2, wherein the position of the mobile device includes anorientation of the mobile device.
 4. The method of claim 2 wherein theinformation concerns a local environment.
 5. The method of claim 2,wherein the transmitting device identification information comprisesdetails about an object to which the transmitting device is attached. 6.The method of claim 1, wherein a schedule for transmitting the one ormore ranging signals that comprise transmitting device identificationinformation via an advertising packet using a second wireless protocolis hardcoded in one or more mobile devices.
 7. The method of claim 1,wherein one or more ranging packets of the ranging signal comprise adeep link, wherein the deep link is a hyperlink that links to a specificpiece of web content on a website.
 8. The method of claim 1, wherein anadvertising packet comprises one or more deep links.
 9. The method ofclaim 1, wherein an advertising packet comprises a schedule fortransmitting information packets, the schedule specifies a time delayfollowing transmission of the advertising packet to listen for theinformation packets.
 10. The method of claim 1, further comprisingreceiving transmitting device information that comprises a link to afloorplan for a transmitting device location.
 11. The method of claim 1,further comprising: determining a second angle of arrival from a secondranging signal from a second transmitting device, and determining alocation of the mobile device by triangulating the ranging signal andthe second ranging signal.
 12. A mobile device, comprising: a processor;and a memory coupled to the processor, the memory storing instructions,which when executed by the processor, cause the mobile device to performoperations including: receiving, at an antenna array of the mobiledevice, a ranging signal via a first wireless protocol during alistening window, wherein the antenna array comprises a plurality ofantennas including a first antenna and a second antenna; comparing afirst measurement of the ranging signal at the first antenna to a secondmeasurement of the ranging signal at the second antenna; determining anangle of arrival of the ranging signal using the comparison and aphysical configuration of the plurality of antennas; comparing the angleof arrival to a threshold; and based on the comparison, retrievinginformation specified by a link from a transmitting device.
 13. Themobile device of claim 12, wherein the operations further include:receiving transmitting device identification information in anadvertising packet; and based on the transmitting device identificationinformation, determining if the transmitting device has informationrelevant to an application executing on the mobile device, theapplication including functionality that is dependent on a position ofmobile device relative to the transmitting device.
 14. The mobile deviceof claim 13, wherein the position of the mobile device includes anorientation of the mobile device.
 15. The mobile device of claim 13,wherein the transmitting device identification information comprisesdetails about an object to which the transmitting device is attached.16. The mobile device of claim 13, wherein a schedule for transmittingthe ranging signal that comprise transmitting device identificationinformation via the advertising packet using a second wireless protocolis hardcoded in one or more mobile devices.
 17. The method of claim 1,further comprising: based on the angle of arrival, retrievinginformation specified by the transmitting device, wherein theinformation is specified by an advertising packet or the ranging signal.18. A non-transitory, computer-readable medium storing a plurality ofinstructions that, when executed by one or more processors of a mobiledevice, cause the one or more processors to perform operationscomprising: receiving, at an antenna array of a mobile device, a rangingsignal via a first wireless protocol during a listening window, whereinthe antenna array comprises a plurality of antennas including a firstantenna and a second antenna; comparing a first measurement of theranging signal at the first antenna to a second measurement of theranging signal at the second antenna; determining an angle of arrival ofthe ranging signal using the comparison and a physical configuration ofthe plurality of antennas; comparing the angle of arrival to athreshold; and based on the comparison, retrieving information specifiedby a link from a transmitting device.
 19. The non-transitory,computer-readable medium of claim 18, receiving transmitting deviceidentification information in an advertising packet; and based on thetransmitting device identification information, determining if thetransmitting device has information relevant to an application executingon the mobile device, the application including functionality that isdependent on a position of mobile device relative to the transmittingdevice.
 20. The non-transitory, computer-readable medium of claim 18,wherein a position of the mobile device includes an orientation of themobile device.